package com.ergwang.demo1_mybatisplus.bean;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

@Data
public class User {

    // 这个注解是主键的生成方式
    @TableId(type = IdType.ID_WORKER)
    private Long id;

    /**
     * 注：常用mp自带的，即后两个
     * AUTO  自动增长
     * INPUT  自己设置id值
     * NONE   也是自己输入(不常用)
     * UUID   随机生成唯一值
     * ID_WORKER       mybatis-plus自带的，生成一个19位的值，针对数字类型
     * ID_WORKER_STR   mybatis-plus自带的，生成一个19位的值，针对字符串类型
     * <-- mp自带的使用的是 snowflake 算法 --/>
     * */

    private String name;
    private Integer age;
    private String email;

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


    // 初试自动填充版本号 1
    @TableField(fill = FieldFill.INSERT)
    // 版本号
    @Version
    private Integer version;

    // 逻辑删除 (@TableLogic 注解就是用于逻辑删除)
    @TableLogic
    private Integer deleted;

}
